home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / primcuts.zip / Load DLL at runtime / TestExe.c < prev    next >
Text File  |  1999-04-15  |  824b  |  43 lines

  1. #define INCL_DOSMODULEMGR
  2. #define INCL_DOSMEMMGR
  3. #define INCL_DOSERRORS
  4.  
  5. #include <os2.h>
  6.  
  7. #include <stdio.h>
  8.  
  9. typedef long (APIENTRY _PFNFUNC)(char);
  10. typedef _PFNFUNC *PFNFUNC;
  11.  
  12. int main(void)
  13. {
  14.    APIRET   rc = 0;
  15.    char     ch = 5;
  16.    long     l  = 0;
  17.    HMODULE  hMod = NULLHANDLE;
  18.    char     aszLoadError[256] = "";
  19.    PFNFUNC  pfnFunc = NULL;
  20.  
  21.    /*
  22.    ** Test.DLL
  23.    */
  24.    rc = DosLoadModule(aszLoadError, sizeof(aszLoadError), "Test", &hMod);
  25.    if(rc != NO_ERROR)
  26.    {
  27.       printf("Error: DosLoadModule() returned %d.\n", rc);
  28.    }
  29.  
  30.    if((rc = DosQueryProcAddr(hMod, 0L, "func", (PFN*)&pfnFunc)) != NO_ERROR)
  31.    {
  32.       printf("Error: DosQueryProcAddr() returned %d.\n", rc);
  33.    }
  34.  
  35.    l = (pfnFunc)(ch);
  36.  
  37.    DosFreeModule(hMod);
  38.  
  39.    printf("%d\n", l);
  40.  
  41.    return 0;
  42. }
  43.